/**
 * @api post model.
 *
 * User: yunshengzhu
 * Date: 2020/12/1
 * Time: 下午2:45
 */
package model

type UserDb struct {
	// 用户Id
	UserId int64 `gorm:"column:user_id" json:"userId"`
	// 昵称
	Nickname string `gorm:"column:nickname" json:"nickname"`
	// 性别
	Sex string `gorm:"column:sex" json:"sex"`
	// 头像
	HeadImg string `gorm:"column:head_img" json:"headImg"`
	// 注册时间
	CreateTime int64 `gorm:"column:create_time" json:"createTime"`
	// openId
	OpenId string `gorm:"column:open_id" json:"-"`
	// token
	Token string `gorm:"column:token" json:"token"`
	// 用户等级 0无等级 1黄金会员  2白金会员 3砖石会员
	Grade int `gorm:"column:grade" json:"grade"`
	// 类型 1普通用户 2商家 3管理员
	Typ int `gorm:"column:typ" json:"typ"`
	// 余额
	Amount uint64 `gorm:"column:amount" json:"amount"`
	// 信息
	Wx interface{} `gorm:"-" json:"wx"`
	// 登录时间
	LoginTime int64 `gorm:"login_time" json:"-"`
	// 推荐用户Id
	PUserId int64 `gorm:"column:p_user_id" json:"pUserId"`
	// 是否为平台 1平台 0反之
	Platform int `gorm:"column:platform" json:"platform"`
	// 0未关注 1已关注
	Subscribe int `gorm:"-" json:"subscribe"`
	// 到期时间
	ExpTime int64 `gorm:"column:exp_time" json:"expTime"`
	// 手机号
	Phone string `gorm:"column:phone" json:"phone"`
}

func (t *UserDb) TableName() string {
	return "t_user"
}

type UserCountDb struct {
	Count int64 `gorm:"column:count" json:"count"`
}

func (t *UserCountDb) TableName() string {
	return "t_user"
}

type MerchantDb struct {
	// 商户Id
	Mid int64 `gorm:"column:mid" json:"mid"`
	// 用户Id
	UserId int64 `gorm:"column:user_id" json:"userId"`
	// 姓名
	Name string `gorm:"column:name" json:"name"`
	// 联系电话
	Phone string `gorm:"column:phone" json:"phone"`
	// 地址
	Address string `gorm:"column:address" json:"address"`
	// 营业执照
	BusinessLicense string `gorm:"column:business_license" json:"businessLicense"`
	// 纬度
	Lat string `gorm:"column:lat" json:"lat"`
	// 经度
	Lon string `gorm:"column:lon" json:"lon"`
	// 状态 0申请 1审核通过 2审核未通过
	Status int `gorm:"column:status" json:"status"`
	// 申请时间
	CreateTime int64 `gorm:"column:create_time" json:"createTime"`
	// 审核时间
	AuditTime int64 `gorm:"column:audit_time" json:"auditTime"`
	// 备注
	Msg string `gorm:"column:msg" json:"msg"`
	// 商户简介
	Desc string `gorm:"column:desc" json:"desc"`
	// logo
	Logo string `gorm:"column:logo" json:"logo"`
	// 商户名称
	MName string `gorm:"column:m_name" json:"mName"`
	// 类型Id
	TypeId int `gorm:"column:type_id" json:"typeId"`
	// 失败理由
	Excuse string `gorm:"column:excuse" json:"excuse"`
}

func (t *MerchantDb) TableName() string {
	return "t_merchant"
}

type MerchantDistanceDb struct {
	// 商户Id
	Mid int64 `gorm:"column:mid" json:"mid"`
	// 用户Id
	UserId int64 `gorm:"column:user_id" json:"userId"`
	// 姓名
	Name string `gorm:"column:name" json:"name"`
	// 联系电话
	Phone string `gorm:"column:phone" json:"phone"`
	// 地址
	Address string `gorm:"column:address" json:"address"`
	// 营业执照
	BusinessLicense string `gorm:"column:business_license" json:"businessLicense"`
	// 纬度
	Lat string `gorm:"column:lat" json:"lat"`
	// 经度
	Lon string `gorm:"column:lon" json:"lon"`
	// 状态 0申请 1审核通过 2审核未通过
	Status int `gorm:"column:status" json:"status"`
	// 申请时间
	CreateTime int64 `gorm:"column:create_time" json:"createTime"`
	// 审核时间
	AuditTime int64 `gorm:"column:audit_time" json:"auditTime"`
	// 备注
	Msg string `gorm:"column:msg" json:"msg"`
	// 商户简介
	Desc string `gorm:"column:desc" json:"desc"`
	// logo
	Logo string `gorm:"column:logo" json:"logo"`
	// 商户名称
	MName string `gorm:"column:m_name" json:"mName"`
	// 类型Id
	TypeId int `gorm:"column:type_id" json:"typeId"`
	// 距离
	Distance float64 `gorm:"column:distance" json:"distance"`
	// 失败理由
	Excuse string `gorm:"column:excuse" json:"excuse"`
	// 最小价格
	MinPrice int64 `gorm:"column:min_price" json:"minPrice"`
	// 已售数量
	Sold int64 `gorm:"column:sold" json:"sold"`
}

func (t *MerchantDistanceDb) TableName() string {
	return "t_merchant"
}

type MerchantCountDb struct {
	Count int64 `gorm:"column:count" json:"count"`
}

func (t *MerchantCountDb) TableName() string {
	return "t_merchant"
}

type MerchantTypeDb struct {
	// 类型Id
	TypeId int `gorm:"column:type_id" json:"typeId"`
	// 类型名称
	TypeName string `gorm:"column:type_name" json:"typeName"`
	// icon
	Icon string `gorm:"column:icon" json:"icon"`
}

func (t *MerchantTypeDb) TableName() string {
	return "t_merchant_type"
}

type ProDb struct {
	// 产品Id
	Sku int64 `gorm:"column:sku" json:"sku"`
	// 商户Id
	Mid int64 `gorm:"column:mid" json:"mid"`
	// 商户名称
	ProName string `gorm:"column:pro_name" json:"proName"`
	// 商品价格
	Price int64 `gorm:"column:price" json:"price"`
	// 商品详情
	Content string `gorm:"column:content" json:"content"`
	// 是否线上 0线下 1线上
	Online int `gorm:"column:online" json:"online"`
	// 图片列表
	Img string `gorm:"column:img" json:"-"`
	// 图片列表
	Imgs []string `gorm:"-" json:"img"`
	// 添加时间
	CreateTime int64 `gorm:"column:create_time" json:"createTime"`
	// 阅读量
	ReadNum int64 `gorm:"column:read_num" json:"readNum"`
	// 已售数量
	Sold int64 `gorm:"column:sold" json:"sold"`
	// 库存
	Stock int64 `gorm:"column:socket" json:"socket"`
	// 状态 0提交 1审核通过 2审核不通过
	Status int `gorm:"column:status" json:"status"`
	// 驳回理由
	Excuse string `gorm:"column:excuse" json:"excuse"`
	// 审核时间
	CheckTime int64 `gorm:"column:check_time" json:"checkTime"`
}

func (t *ProDb) TableName() string {
	return "t_pro"
}

type ProCountDb struct {
	Count int64 `gorm:"column:count" json:"count"`
}

func (t *ProCountDb) TableName() string {
	return "t_pro"
}

type CardDb struct {
	// 卡Id
	CardId int64 `gorm:"column:card_id" json:"cardId"`
	// 卡号
	CardNumber string `gorm:"column:card_number" json:"cardNumber"`
	// 卡密
	CardPwd string `gorm:"column:card_pwd" json:"cardPwd"`
	// 用户Id
	UserId int64 `gorm:"column:user_id" json:"userId"`
	// 状态 0正常 1已使用 2已送出 3已作废
	Status int `gorm:"column:status" json:"status"`
	// 创建时间
	CreateTime int64 `gorm:"column:create_time" json:"createTime"`
	// 使用时间
	UseTime int64 `gorm:"column:use_time" json:"useTime"`
	// 绑定用户
	ToUserId int64 `gorm:"column:to_user_id" json:"toUserId"`
	// 送卡时间
	SendTime int64 `gorm:"column:send_time" json:"sendTime"`
	// 订单号
	OrderNumber string `gorm:"column:order_number" json:"-"`
}

func (t *CardDb) TableName() string {
	return "t_card"
}

type CardCountDb struct {
	Count int64 `gorm:"column:count" json:"count"`
}

func (t *CardCountDb) TableName() string {
	return "t_card"
}

type OrderDb struct {
	// 订单号
	OrderNumber string `gorm:"column:order_number" json:"orderNumber"`
	// userId
	UserId int64 `gorm:"column:user_id" json:"userId"`
	// 订单金额
	Amount uint64 `gorm:"column:amount" json:"amount"`
	// 支付金额
	PayAmount uint64 `gorm:"column:pay_amount" json:"payAmount"`
	// 抵扣金额
	DeductionAmount int64 `gorm:"column:deduction_amount" json:"deductionAmount"`
	// 创建时间
	CreateTime int64 `gorm:"column:create_time" json:"createTime"`
	// 支付时间
	PayTime int64 `gorm:"column:pay_time" json:"payTime"`
	// 支付状态
	PayStatus int64 `gorm:"column:pay_status" json:"payStatus"`
	// 订单状态 0待支付 1待发货 2待收货 3已收货
	Status int64 `gorm:"column:status" json:"status"`
	// 订单类型 1卡 2商品
	Typ int `gorm:"column:typ" json:"typ"`
	// 快递公司
	ExpressCompany string `gorm:"column:express_company" json:"expressCompany"`
	// 运单号
	WaybillNumber string `gorm:"column:waybill_number" json:"waybillNumber"`
	// 商家Id
	Mid int64 `gorm:"column:mid" json:"mid"`
	// 商家结算金额
	MAmount int64 `gorm:"column:m_amount" json:"-"`
	// 平台利润
	PAmount int64 `gorm:"column:p_amount" json:"-"`
	// 数量
	Num int64 `gorm:"column:num" json:"num"`
	// 订单描述
	Desc string `gorm:"column:desc" json:"desc"`
	// 联系人
	Name string `gorm:"column:name" json:"name"`
	// 详细地址
	Address string `gorm:"column:address" json:"address"`
	// 省
	ProvinceName string `gorm:"column:province_name" json:"provinceName"`
	// 市
	CityName string `gorm:"column:city_name" json:"cityName"`
	// 区
	CountyName string `gorm:"column:county_name" json:"countyName"`
	// 街道
	TownName string `gorm:"column:town_name" json:"townName"`
	// 联系电话
	Mobile string `gorm:"column:mobile" json:"mobile"`
	// 确认收货时间
	ConfirmTime int64 `gorm:"column:confirm_time" json:"confirmTime"`
	// 二维码
	QrCode string `gorm:"column:qr_code" json:"-"`
	// 二维码生成时间
	QrTime int64 `gorm:"column:qr_time" json:"qrTime"`
	// 二维码到期时间
	ExpQrTime int64 `gorm:"column:exp_qr_time" json:"expQrTime"`
	// 二维码状态
	QrStatus int `gorm:"column:qr_status" json:"qrStatus"`
	// 验证时间
	VerifyTime int64 `gorm:"column:verify_time" json:"verifyTime"`
	// 商品列表
	ProList []OrderDetailDb `gorm:"-" json:"proList"`
	// 商户信息
	Merchant MerchantDb `gorm:"-" json:"merchant"`
	// 微信
	Wx string `gorm:"column:wx" json:"-"`
}

func (t *OrderDb) TableName() string {
	return "t_order"
}

type OrderCountDb struct {
	Count int64 `gorm:"column:count" json:"count"`
}

func (t *OrderCountDb) TableName() string {
	return "t_order"
}

type OrderLogModel struct {
	Id          int64  `gorm:"column:id" json:"id"`
	OrderNumber string `gorm:"column:order_number" json:"orderNumber"`
	Content     string `gorm:"column:content" json:"content"`
	Operator    string `gorm:"column:operator" json:"operator"`
	CreateTime  int64  `gorm:"column:create_time" json:"createTime"`
}

func (t *OrderLogModel) TableName() string {
	return "t_order_log"
}

type VProDb struct {
	// 产品Id
	Sku int64 `gorm:"column:sku" json:"sku"`
	// 商户Id
	Mid int64 `gorm:"column:mid" json:"mid"`
	// 商户名称
	ProName string `gorm:"column:pro_name" json:"proName"`
	// 商品价格
	Price int64 `gorm:"column:price" json:"price"`
	// 商品详情
	Content string `gorm:"column:content" json:"content"`
	// 是否线上 0线下 1线上
	Online int `gorm:"column:online" json:"online"`
	// 图片列表
	Img string `gorm:"column:img" json:"-"`
	// 图片列表
	Imgs []string `gorm:"-" json:"img"`
	// 添加时间
	CreateTime int64 `gorm:"column:create_time" json:"createTime"`
	// 阅读量
	ReadNum int64 `gorm:"column:read_num" json:"readNum"`
	// 已售数量
	Sold int64 `gorm:"column:sold" json:"sold"`
	// 库存
	Stock int64 `gorm:"column:socket" json:"socket"`
	// 距离
	Distance float64 `gorm:"column:distance" json:"distance"`
	// 联系人
	Name string `gorm:"column:name" json:"name"`
	// 联系电话
	Phone string `gorm:"column:phone" json:"phone"`
	// 地址
	Address string `gorm:"column:address" json:"address"`
	// 纬度
	Lat string `gorm:"column:lat" json:"lat"`
	// 经度
	Lon string `gorm:"column:lon" json:"lon"`
	// logo
	Logo string `gorm:"column:logo" json:"logo"`
	// 商户名称
	MName string `gorm:"column:m_name" json:"mName"`
}

func (t *VProDb) TableName() string {
	return "v_pro"
}

type VProCountDb struct {
	Count int64 `gorm:"column:count" json:"count"`
}

func (t *VProCountDb) TableName() string {
	return "v_pro"
}

type LogisticsDb struct {
	// 地址Id
	LogisticsId int64 `gorm:"column:logistics_id;primary_key;AUTO_INCREMENT" json:"logisticsId"`
	// 用户Id
	UserId int64 `gorm:"column:user_id" json:"userId"`
	// 收货人姓名
	Name string `gorm:"column:name" json:"name"`
	// 详细地址
	Address string `gorm:"column:address" json:"address"`
	// 省
	ProvinceName string `gorm:"column:province_name" json:"provinceName"`
	// 市
	CityName string `gorm:"column:city_name" json:"cityName"`
	// 区
	CountyName string `gorm:"column:county_name" json:"countyName"`
	// 街道
	TownName string `gorm:"column:town_name" json:"townName"`
	// 联系电话
	Mobile string `gorm:"column:mobile" json:"mobile"`
	// 默认地址
	Main int `gorm:"column:main" json:"main"`
	// 区域编码
	AreaCode string `gorm:"column:area_code" json:"areaCode"`
	// 邮政编码
	PostalCode string `gorm:"column:postal_code" json:"postalCode"`
}

func (t *LogisticsDb) TableName() string {
	return "t_user_logistics"
}

type UserTransDb struct {
	Id int64 `gorm:"column:id" json:"id"`
	// 用户Id
	UserId int64 `gorm:"column:user_id" json:"userId"`
	// 金额
	Amount int64 `gorm:"column:amount" json:"amount"`
	// 类型
	Typ int `gorm:"column:typ" json:"typ"`
	// 描述
	Desc string `gorm:"column:desc" json:"desc"`
	// 状态 0创建 1已入账 2待入账  3取消
	Status int `gorm:"column:status" json:"status"`
	// 交易时间
	CreateTime int64 `gorm:"column:create_time" json:"createTime"`
	// 订单号
	OrderNumber string `gorm:"column:order_number" json:"orderNumber"`
}

func (t *UserTransDb) TableName() string {
	return "t_user_trans"
}

type UserTransCountDb struct {
	Count int64 `gorm:"column:count" json:"count"`
}

func (t *UserTransCountDb) TableName() string {
	return "t_user_trans"
}

type OrderDetailDb struct {
	Id int64 `gorm:"column:id" json:"id"`
	// 订单号
	OrderNumber string `gorm:"column:order_number" json:"orderNumber"`
	// 商品sku
	Sku int64 `gorm:"column:sku" json:"sku"`
	// 商品名称
	ProName string `gorm:"column:pro_name" json:"proName"`
	// 购买价格
	Price int64 `gorm:"column:price" json:"price"`
	// 商品原价
	OriginalPrice int64 `gorm:"column:original_price" json:"originalPrice"`
	// 购买数量
	Num int64 `gorm:"column:num" json:"num"`
	// 是否线上 1线上 0线下
	Online int `gorm:"column:online" json:"online"`
	// 图片列表
	Img string `gorm:"column:img" json:"-"`
	// 图片列表
	Imgs []string `gorm:"-" json:"img"`
	// 商品内容
	Content string `gorm:"column:content" json:"content"`
	// 商户Id
	Mid int64 `gorm:"column:mid" json:"mid"`
	// 订单时间
	CreateTime int64 `gorm:"column:create_time" json:"createTime"`
}

func (t *OrderDetailDb) TableName() string {
	return "t_order_details"
}

type UserWithdrawDb struct {
	// id
	Id int64 `gorm:"column:id" json:"id"`
	// 用户Id
	UserId int64 `gorm:"column:user_id" json:"userId"`
	// 提现金额
	Amount int64 `gorm:"column:amount" json:"amount"`
	// 申请时间
	CreateTime int64 `gorm:"column:create_time" json:"createTime"`
	// 状态 0申请 1完成 2失败 3取消
	Status int `gorm:"column:status" json:"status"`
	// 备注
	Remark string `gorm:"column:remark" json:"remark"`
	// 确认时间
	CheckTime int64 `gorm:"column:check_time" json:"checkTime"`
	// 订单号
	OrderNumber string `gorm:"column:order_number" json:"orderNumber"`
	// openid
	OpenId string `gorm:"column:openid" json:"openid"`
	// 描述
	Desc string `gorm:"column:desc" json:"desc"`
	// 姓名
	Username string `gorm:"column:username" json:"username"`
	// 手续费
	ProcedureAmount int64 `gorm:"column:procedure_amount" json:"procedureAmount"`
}

func (t *UserWithdrawDb) TableName() string {
	return "t_user_withdraw"
}

type UserWithdrawCountDb struct {
	Count int64 `gorm:"column:count" json:"count"`
}

func (t *UserWithdrawCountDb) TableName() string {
	return "t_user_withdraw"
}
